﻿#ifndef _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS 1
#endif

#include<iostream>
#include<cstdlib>
using namespace std;
/*

*/
int a1[1001] = { 1,0 };
int a2[1001] = { 1,1 };
int a3[1001] = { 1,0 };
int m, n;
int main() {
	cin >> m >> n;
	for (int i = m; i <= n; i++) {
		int mmax = max(a1[0], a2[0]);
		for (int j = 0; j <= n; j++)
			a3[j] = 0;
		a3[0] = mmax;

		for (int j = 1; j <= mmax; j++) {
			a3[j] += a1[j] + a2[j];
			a3[j + 1] += a3[j] / 10;
			a3[j] %= 10;
		}
		while (a3[a3[0] + 1] > 0) 
			++a3[0];


		a1[0] = a2[0];
		a2[0] = a3[0];
		for (int i = 1; i <= a3[0]; i++) {
			a1[i] = a2[i];
			a2[i] = a3[i];
		}
	}
	for (int i = a1[0]; i >= 1; i--)
		cout << a1[i];
	return 0;
}